CONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER is not set
# CONFIG_XEN_BLKDEV_TAP is not set
+# CONFIG_XEN_SHADOW_MODE is not set
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_X86=y
# CONFIG_XEN_X86_64 is not set
CONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER is not set
# CONFIG_XEN_BLKDEV_TAP is not set
-CONFIG_XEN_SHADOW_MODE=y
+# CONFIG_XEN_SHADOW_MODE is not set
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_X86=y
# CONFIG_XEN_X86_64 is not set
page->count_info, page->u.inuse.type_info);
}
+/* XXX Needs more thought. Neither pretty nor fast: a place holder. */
static inline void shadow_sync_and_drop_references(
struct domain *d, struct pfn_info *page)
{
if ( likely(!shadow_mode_enabled(d)) )
return;
- /* XXX Needs more thought. Neither pretty nor fast: a place holder. */
shadow_lock(d);
if ( page_out_of_sync(page) )
shadow_remove_all_access(d, page_to_pfn(page));
- if ( page->count_info != 1 )
- {
- printk("free_dom_mem in shadow mode didn't release page "
- "mfn=%p c=%p\n", page_to_pfn(page), page->count_info);
- shadow_unlock(d);
- audit_domain(d);
- BUG();
- }
-
shadow_unlock(d);
}